package com.lansi.fb.person.mapper;



import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.lansi.fb.person.bean.Person;


public interface PersonMapper {
	/**
	 * 插入user用户信息
	 * @param user
	 */
	void insertPerson(Person person);
	/**
	 * 根据id删除用户信息-可以批量删除
	 * @param id
	 */
	void deletePerson(Integer[] ids);
	
	/**
	 * 单个删除根据id
	 * @param id
	 */
	void deleteById(Integer id);
	/**
	 * 修改用户信息
	 * @param user
	 */
	void updatePerson(Person person);
	
	/**
	 * 查询出所有用户信息
	 * @return
	 */
	List<Person> selectPerson(
			@Param("username")	String username,
			@Param("sex")       Integer sex,
			@Param("level")     Integer level,
			@Param("cardid") 	String cardid,
			@Param("age") 		Integer age,
			@Param("worktype") 	Integer worktype,
			@Param("sn") 		String sn,
			@Param("userid") 	String userid,
			
			@Param("offset") 	Integer offset,
			@Param("count")  	Integer count);
	
	/**
	 * 根据id查询用户信息
	 * @param id
	 * @return
	 */
	Person selectPersonById(Integer id);
	/**
	 * 根据用户姓名查询用户信息
	 * @param username
	 * @return
	 */
	Person selectPersonByUsername(String username);
	/**
	 * 根据性别查询用户信息
	 * @param sex
	 * @return
	 */
	List<Person> selectPersonBySex(String sex);
	/**
	 * 根据职务查询用户信息
	 * @param level
	 * @return
	 */
	List<Person> selectPersonByLevel(String level);
	/**
	 * 根据工卡ID查询用户信息
	 * @param cardid
	 * @return
	 */
	Person selectPersonByCardid(String cardid);
	/**
	 * 根据年龄查询用户信息
	 * @param age
	 * @return
	 */
	List<Person> selectPersonByAge(String age);
	/**
	 * 根据工作种类查询用户信息
	 * @param worktype
	 * @return
	 */
	List<Person> selectPersonByWorktype(String worktype);
	/**
	 * 根据工号查询用户信息
	 * @param sn
	 * @return
	 */
	List<Person> selectPersonBySn(String sn);
	/**
	 * 根据身份证查询用户信息
	 * @param userid
	 * @return
	 */
	List<Person> selectPersonByUserid(String userid);
	
	
	
	
	/**
	 * 查询数据库总计数据数量
	 * @return
	 */
	Integer selectPersoncount(
			@Param("username")	String username,
			@Param("sex")       Integer sex,
			@Param("level")     Integer level,
			@Param("cardid") 	String cardid,
			@Param("age") 		Integer age,
			@Param("worktype") 	Integer worktype,
			@Param("sn") 		String sn,
			@Param("userid") 	String userid	
			);
	/**
	 * 修改照片
	 * @param image
	 * @param id
	 */
	void updateImage(@Param("picture") String picture,@Param("userid") String userid);


}
